<template>
	<view>
		 <uni-popup
		    ref="popupRef"
		    :type="type"
		    :mask-click="maskClose"
		    @change="handlePopupChange"
		  >
		    <!-- 弹窗内容插槽 -->
		    <slot name="content">
		      <!-- 默认内容（可自定义） -->
		      <view class="popup-default-content">
		        <text>{{ defaultText }}</text>
		      </view>
		    </slot>
		  </uni-popup>
	</view>
</template>

<script>
	export default {
	  props: {
	    // 弹窗类型：top/center/bottom
	    type: {
	      type: String,
	      default: 'center'
	    },
	    // 默认提示文本
	    defaultText: {
	      type: String,
	      default: '这是默认弹窗内容'
	    },
	    // 点击遮罩是否关闭
	    maskClose: {
	      type: Boolean,
	      default: true
	    }
	  },
	  data() {
	    return {
	      isVisible: false // 内部状态（可选）
	    };
	  },
	  methods: {
	    // 打开弹窗
	    open() {
	      this.$refs.popupRef.open();
	    },
	    // 关闭弹窗
	    close() {
	      this.$refs.popupRef.close();
	    },
	    // 状态变化回调
	    handlePopupChange(e) {
	      this.isVisible = e.show;
	      this.$emit('change', e.show);
	    }
	  }
	};
</script>

<style scoped>
.popup-default-content {
  padding: 40rpx;
  background: #fff;
  border-radius: 12rpx;
  text-align: center;
}
</style>